import os
import re
import sys

def rename_fruit_images(sub_dir，old_text, new_text):
    # 获取当前目录
    current_dir = os.getcwd()
    # 构建指定子目录的完整路径
    sub_dir_path = os.path.join(current_dir, sub_dir)

    # 检查指定子目录是否存在
    if not os.path.exists(sub_dir_path):
        print(f"指定的子目录 {sub_dir} 不存在。")
        return

    # 遍历指定子目录下的所有文件
    for filename in os.listdir(sub_dir_path):
        # 使用正则表达式匹配包含 old_text 的文件名
        pattern = re.escape(old_text) + r'\s*\((\d+)\)'
        match = re.search(pattern, filename)
        if match:
            # 提取数字部分
            number = match.group(1)
            # 构建新文件名
            new_filename = re.sub(pattern, f'{new_text}({number})', filename)
            # 构建旧文件和新文件的完整路径
            old_path = os.path.join(sub_dir_path, filename)
            new_path = os.path.join(sub_dir_path, new_filename)

            try:
                # 重命名文件
                os.rename(old_path, new_path)
                print(f"已重命名: {filename} -> {new_filename}")
            except Exception as e:
                print(f"无法重命名 {filename}: {e}")

if __name__ == "__main__":
    if len(sys.argv) != 4:
        print("用法: python rename_fruits.py <旧文字> <新文字> <子目录名>")
        sys.exit(1)

    old_text = sys.argv[1]
    new_text = sys.argv[2]
    sub_dir = sys.argv[3]
    rename_fruit_images(old_text, new_text, sub_dir)